package com.poizon.utils;


import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;

/**
 * @ClassName UploadUtils
 * @Author NoCheng
 * @Date 2022/1/3 15:53
 * @Description:TODO 文件上传工具
 */

public class UploadUtils {

    /**
     * @param files 需要上传的文件列表
     * @return  以逗号隔开的资源访问路径*/
    public static String fileUpload(MultipartFile... files) {
        List<String> paths = new ArrayList<>();
        if (files != null && files.length > 0) {
            for (MultipartFile file : files) {
                //处理文件名
                String filename = file.getOriginalFilename();
                if (filename.length() > 50) {
                    filename = filename.substring(filename.length() - 50);
                }
                filename = UUID.randomUUID().toString().replace("-", "") + filename;
                try {
                    //上传文件并将访问路径添加至 list 集合
                    paths.add(OssUtils.upload(filename, file.getBytes(), DateUtils.getTime()));
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
        //将 list 集合转为字符串
        String s = paths.toString();
        //去除首尾 [ ] 并返回
        return s.substring(1, s.length() - 1);
    }
    public static void deleteBatch(String str){
        if (CheckUtils.isNotEmpty(str)) {
            String[] strings = str.split(",");
            for (String string : strings) {
                // 最后一个 / 和 ? 中间的是文件名
                String filename = string.substring(string.lastIndexOf("/") + 1, string.indexOf("?"));
                OssUtils.delete(filename);
            }
        }
    }
}